/**
 * aes加密
 * 必须要在index.html引入CryptoJS.js
 * 默认密码（KEY）： ca017d0ff169b425
 */
// 默认的 KEY 与 iv 如果没有给
const KEY = "ca017d0ff169b425"; //密码与后台一样  （16位或者32位） CryptoJS.enc.Utf8.parse("ca017d0ff169b425");
const IV = ""; //偏移量与后台一样（16位或者32位） CryptoJS.enc.Utf8.parse("");
let strCode = function (str) {
   return CryptoJS.enc.Utf8.parse(str);
}
export default {
   //加密
   encode(word, key, iv) {
      key = strCode(key || KEY);
      iv = strCode(iv || IV);
      try {
         if (typeof word == 'object') {
            word = JSON.stringify(word);
         } else {
            word += "";
         }
         let src = CryptoJS.enc.Utf8.parse(word);
         let encrypted = CryptoJS.AES.encrypt(src, key, {
            iv: iv,
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
         });
         return encrypted.toString();
      } catch (e) {
         return null;
      }
   },

   //解密
   decode(word, key, iv) {
      key = strCode(key || KEY);
      iv = strCode(iv || IV);
      try {
         let decrypt = CryptoJS.AES.decrypt(word, key, {
            iv: iv,
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
         });
         let destr = CryptoJS.enc.Utf8.stringify(decrypt).toString();
         destr = destr || "";
         try {
            destr = JSON.parse(destr);
         } catch (e) {
         }
         return destr;
      } catch (e) {
         return null;
      }
   },
};